#include "MirrorRole.h"

MirrorRole::MirrorRole()
{
	prev[OPTE_CONFLICT] = nullptr;
	prev[OPTE_LIST] = nullptr;
	next[OPTE_CONFLICT] = nullptr;
	next[OPTE_LIST] = nullptr;
	_mirrorData.Clear();
}

MirrorRole::~MirrorRole()
{

}

CharIDType MirrorRole::GetCharId()
{
	return _mirrorData.charid();
}

void MirrorRole::Attach(const CharacterMirrorData& mirrorData)
{
	_mirrorData.CopyFrom(mirrorData);
}

void MirrorRole::Detach()
{
	_mirrorData.Clear();
}

CharacterMirrorData* MirrorRole::Get()
{
	if (_mirrorData.charid() <= 0)
	{
		return nullptr;
	}

	return &_mirrorData;
}